package edu.henu.personnel.service.notice;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import edu.henu.personnel.entity.Notice;
import edu.henu.personnel.vo.NoticeVO;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public interface NoticeService {

    // 获取所有的notice列表
    PageInfo<NoticeVO> getAllNotice(Integer pageNum);

    /**
     * 通过一个Noticeid获取相应的文章信息
     * @param nid
     */
    Notice getNoticeById(String nid);

    /**
     * 通过文章标题获取相应的文章信息
     * @param ntitle
     */
    Notice getNoticeByTitle(String ntitle);

    /**
     * 通过栏目id获取所属的文章列表
     * @param cid
     * @return
     */
    PageInfo<NoticeVO> getNoticeListByCatelogid(Integer cid, int pageNum);

    // 通过cid获取9行数据在index页面展示
    List<NoticeVO> getNoticeListToIndex(Integer cid);

    /**
     * 获取所属栏目中的文章数量
     * @param list
     * @return
     */
    int getCountOfNoticeInTheCatalog(List<Map<String, Object>> list);

    // 添加notice
    int addNotice(Notice notice);

    // 修改notice信息
    int modifyNoticeInfo(Notice notice);

    // 根据notice的id号删除其所对应的信息
    int deleteNoticeInfo(String nid);

    // 增加文章的访问量
    int addNoticeBrowse(String nid);

}
